"""
1. 无序性：集合中的元素没有固定的顺序。这意味着你不能通过索引访问集合中的元素。
2. 唯一性：集合中的元素必须是唯一的，不允许重复。尝试添加重复元素不会产生任何效果。
3. 可变性：集合是可以改变的，可以添加或删除其中的元素。
4. 集合使用 {} 来表示
"""
# 使用sorted 方法 使集合输出保持顺序
# a = {10,20,30,40}
# a.add(60)
# print(sorted(a))
#add添加
# a = {10,20,30,40}
# # a.add(60)
# # a.add(60)
# # print(sorted(a))

#删除元素：
# remove  用来删除指定方法的 _ 元素不存在会产生异常
#删除不存在的元素会直接报错
# a = {10,20,30,40}
# # a.remove(50)
# # a.pop()  #pop 进行随机的删除
# # a.clear()   # 清空
#
# print(sorted(a))


"""
union：
- 将多个集合合并生成一个新的集合,原集合没有变化
- 返回一个新集合，包含两个集合中的所有元素，并且会自动去重。
- 原始集合不会被修改，因为 union() 返回的是一个新的集合。
"""
# a = {10,20,30,40}
# b = a.union({10,20,30,40,50})
# print(sorted(b))

"""
update：
update() 是 Python 集合（set）的一个方法，用于将指定的元素添加到集合中。与 add() 方法不同，add() 只能添加单个元素，而 update() 可以添加多个元素，并且可以接受一个可迭代对象（如列表、元组、字符串或另一个集合）作为参数。
特点：
- 合并元素：它会将提供的可迭代对象中的所有元素添加到当前集合中。
- 自动去重：如果添加的元素已经在集合中存在，则不会重复添加。
- 原地修改：update() 会直接修改原始集合，而不是返回一个新的集合。
上述说到，update() 可以添加多个元素，并且可以接受一个可迭代对象（如列表、元组、字符串或另一个集合）作为参数。
"""
# a = {10,20,30}
# b = {30,40,50}
#
# a.update(b)   #将b中的元素添加到 a 中
# print(sorted(a))

#使用update方法从列表进行添加
# a = {10,20,30}
# lst = [10,20,30,40]
# a.update(lst)
# print(sorted(a))

# a = {'安琪拉','李白','澜','镜','露娜','孙尚香','鲁班大师','廉颇'}
# b = {'夏洛特','镜','安琪拉','李白','关羽','孙尚香'}

# print(a + b )   #TypeError: unsupported operand type(s) for +: 'set' and 'set'

# print(a - b )   # a - b 求A和B的差集   返回A
# print(b - a) # b - a 求b和a的差集   返回b

# print(a & b)     # a & b  求a和b的交集
# print(a | b )     # a | b  求a和b的并集
# print(a ^ b)       #a ^ b   求a和b的差集的并集
